From: John Audia Date: Tue, 2 Sep 2025 18:02:58 +0000 (-0400) Subject: hyperscan: remove package X-Git-Url: http://git.openwrt.org/%22https:/collectd.org//%22/%22https:/collectd.org/%22?a=commitdiff_plain;h=cd6de3f1db473432ba54c118007cc372a5c3a7f1;p=feed%2Fpackages.git hyperscan: remove package Remove hyperscan since Intel announced a proprietary/closed source license beginning with hyperscan 5.5[1,2] and a general lock of support for the 5.4.x branch which has not seen a commit since 19-Apr-2023[3]. 1. https://networkbuilders.intel.com/docs/networkbuilders/accelerate-snort-performance-with-hyperscan-and-intel-xeon-processors-on-public-clouds-1680176363.pdf 2. https://www.phoronix.com/news/Intel-Hyperscan-Now-Proprietary (and references therein) 3. intel/hyperscan@bc3b191 Signed-off-by: John Audia --- diff --git a/libs/hyperscan/Makefile b/libs/hyperscan/Makefile deleted file mode 100644 index ed33cae4f9..0000000000 --- a/libs/hyperscan/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=hyperscan -PKG_VERSION:=5.4.2 -PKG_RELEASE:=3 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/intel/hyperscan/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=32b0f24b3113bbc46b6bfaa05cf7cf45840b6b59333d078cc1f624e4c40b2b99 - -PKG_MAINTAINER:=John Audia -PKG_LICENSE:=BSD-3-Clause BSD-2-Clause BSL-1.0 -PKG_LICENSE_FILES:=LICENSE -PKG_BUILD_DEPENDS:=ragel/host python3/host boost/host - -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/cmake.mk - -# A minimum of SSSE3 support is required to use hyperscan -# We need to define the C(XX)FLAGS to avoid -march=native being -# used as this is hardcoded by upstream, see: -# https://github.com/intel/hyperscan/blob/master/doc/dev-reference/getting_started.rst -CMAKE_OPTIONS += \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DBUILD_SHARED_LIBS=ON \ - -DCMAKE_C_FLAGS="-march=x86-64-v2" \ - -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ - -Wno-dev - -define Package/hyperscan-headers - CATEGORY:=Libraries - SECTION:=libs - TITLE:=Hyperscan Headers - URL:=https://github.com/intel/hyperscan - DEPENDS:=@TARGET_x86_64 -endef - -define Package/hyperscan-runtime - CATEGORY:=Libraries - SECTION:=libs - TITLE:=Hyperscan Runtime - URL:=https://github.com/intel/hyperscan - DEPENDS:=@TARGET_x86_64 +libstdcpp -endef - -define Package/hyperscan-headers/description - This package contains the headers for Hyperscan. -endef - -define Package/hyperscan-runtime/description - This package contains the shared objects for Hyperscan. -endef - -# This installs files into ./staging_dir/. so that you can cross compile from the host -define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include/hs - $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/hs/* $(1)/usr/include/hs/ - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhs* $(1)/usr/lib/ - $(INSTALL_DIR) $(1)/usr/lib/pkgconfig - $(INSTALL_DATA) $(PKG_BUILD_DIR)/libhs.pc $(1)/usr/lib/pkgconfig/libhs.pc -endef - -# These install files on the target. Compare with Build/InstallDev -define Package/hyperscan-headers/install - $(INSTALL_DIR) $(1)/usr/include/hs - $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/hs/*.h $(1)/usr/include/hs/ -endef - -define Package/hyperscan-runtime/install - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhs* $(1)/usr/lib/ -endef - -$(eval $(call BuildPackage,hyperscan-headers)) -$(eval $(call BuildPackage,hyperscan-runtime)) diff --git a/libs/hyperscan/patches/0001-CMakeLists.txt-hack-for-our-build-system.patch b/libs/hyperscan/patches/0001-CMakeLists.txt-hack-for-our-build-system.patch deleted file mode 100644 index 450af73bc7..0000000000 --- a/libs/hyperscan/patches/0001-CMakeLists.txt-hack-for-our-build-system.patch +++ /dev/null @@ -1,56 +0,0 @@ -From c5a983652a2bbbc029961affd2996459e45b5336 Mon Sep 17 00:00:00 2001 -From: John Audia -Date: Sat, 20 Apr 2024 13:29:49 -0400 -Subject: [PATCH] CMakeLists.txt: hack for our build system - -If building with the project external toolchain, the gcc check -fails to set the correct value for TUNE_FLAG to allow the min -supported SSSE3 compiler support test to pass. This patch hacks -the file to set to the correct value. - -Links to upstream bug reports: -https://github.com/openwrt/openwrt/issues/15216 -https://github.com/intel/hyperscan/issues/431 - ---- - CMakeLists.txt | 29 +---------------------------- - 1 file changed, 1 insertion(+), 28 deletions(-) - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -183,34 +183,7 @@ else() - endforeach () - - if (CMAKE_COMPILER_IS_GNUCC) -- message(STATUS "gcc version ${CMAKE_C_COMPILER_VERSION}") -- # If gcc doesn't recognise the host cpu, then mtune=native becomes -- # generic, which isn't very good in some cases. march=native looks at -- # cpuid info and then chooses the best microarch it can (and replaces -- # the flag), so use that for tune. -- -- # arg1 might exist if using ccache -- string (STRIP "${CMAKE_C_COMPILER_ARG1}" CC_ARG1) -- set (EXEC_ARGS ${CC_ARG1} -c -Q --help=target -march=native -mtune=native) -- execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS} -- OUTPUT_VARIABLE _GCC_OUTPUT) -- string(FIND "${_GCC_OUTPUT}" "march" POS) -- string(SUBSTRING "${_GCC_OUTPUT}" ${POS} -1 _GCC_OUTPUT) -- string(REGEX REPLACE "march=[ \t]*([^ \n]*)[ \n].*" "\\1" -- GNUCC_ARCH "${_GCC_OUTPUT}") -- -- # test the parsed flag -- set (EXEC_ARGS ${CC_ARG1} -E - -mtune=${GNUCC_ARCH}) -- execute_process(COMMAND ${CMAKE_C_COMPILER} ${EXEC_ARGS} -- OUTPUT_QUIET ERROR_QUIET -- INPUT_FILE /dev/null -- RESULT_VARIABLE GNUCC_TUNE_TEST) -- if (NOT GNUCC_TUNE_TEST EQUAL 0) -- message(SEND_ERROR "Something went wrong determining gcc tune: -mtune=${GNUCC_ARCH} not valid") -- endif() -- set(TUNE_FLAG ${GNUCC_ARCH}) -- else () -- set(TUNE_FLAG native) -+ set(TUNE_FLAG x86-64-v2) - endif() - - # compiler version checks TODO: test more compilers